//package com.estore;
//
//import java.io.*;
//import java.util.*;
////import java.util.HashMap;
////import java.util.Map;
//
//public class ProductService {
//    private Map<String, Product> productData = new HashMap<>();
//    private static final String DATA_FILE="products.dat";
//    private String dataFilePath;
//    private String backupFilePath;
//
//    public ProductService() {
//        loadData();
//        loadConfig();
//        Set<String> tags1=new HashSet<>();
//        tags1.add("编程");
//        tags1.add("畅销");
//        productData.put("p001", new Product("p001", "Java从入门到精通", 99.0, 100,tags1));
//        productData.put("p007", new Product("p007", "C语言入门教程", 45.0, 200,tags1));
//        Set<String> tags2=new HashSet<>();
//        tags2.add("数据库");
//        tags2.add("技术");
//        productData.put("p002", new Product("p002", "高性能MySQL", 128.5, 50,tags2));
//
//        productData.put("p003", new Product("p003", "颈椎康复指南", 45.0, 200, null));
//        productData.put("p004", new Product("p004", "生发秘籍", 88.0, 0, null));
//        productData.put("p005", new Product("p005", "云计算导论", 149.0, 80, null));
//        productData.put("p006", new Product("p006", "大数据技术原理与应用", 89.5, 120, null));
//    }
//
//    private void loadConfig(){
//        Properties props=new Properties();
//        File configFile=new File("config.properties");
//        if(!configFile.exists()){
//            createDefaultConfig();
//            System.out.println("配置文件不存在，已创建默认配置");
//            return;
//        }
//        try (InputStreamReader reader = new InputStreamReader(
//                new FileInputStream("config.properties"), "UTF-8")) {
//
//            props.load(reader);
//            dataFilePath = props.getProperty("data.file.path", "products.dat");
//            backupFilePath = props.getProperty("backup.file.path", "products.dat.bak");
//
//            System.out.println("配置文件加载成功:");
//            System.out.println("  数据文件路径: " + dataFilePath);
//            System.out.println("  备份文件路径: " + backupFilePath);
//
//        } catch (IOException e) {
//            System.err.println("加载配置文件失败: " + e.getMessage());
//            // 如果加载失败，使用默认值
//            dataFilePath = "products.dat";
//            backupFilePath = "products.dat.bak";
//        }
//
//        public void saveData() {
//            try (ObjectOutputStream oos = new ObjectOutputStream(
//                    new FileOutputStream(dataFilePath))) {
//                oos.writeObject(productData);
//                System.out.println("商品数据已保存到: " + dataFilePath);
//            } catch (IOException e) {
//                System.err.println("保存数据失败: " + e.getMessage());
//            }
//        }
//
//
//    public List<Product> getAllProducts() {
//        return new ArrayList<>(productData.values());
//    }
//    public Product findProductById(String id) {
//        return productData.get(id);
//    }
//
//
//    public void saveData(){
//        try(ObjectOutputStream oos =new ObjectOutputStream(new FileOutputStream(DATA_FILE))){
//            oos.writeObject(productData);
//            System.out.println("商品数据已保存到："+DATA_FILE);
//        }catch (IOException e){
//            System.err.println("保存数据失败："+e.getMessage());
//        }
//    }
//    @SuppressWarnings("uncheckd")
//    private void loadData(){
//        File file=new File(DATA_FILE);
//        if(file.exists()) {
//            try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(DATA_FILE))) {
//                productData = (Map<String, Product>) ois.readObject();
//                System.out.println("提示：商品数据已从" + DATA_FILE + "加载。");
//            } catch (IOException | ClassNotFoundException e) {
//                System.err.println("错误：加载商品数据失败：" + e.getMessage());
//                productData = new HashMap<>();
//            }
//        }
//        else{
//                System.out.println("提示：数据文件"+DATA_FILE+"不存在。");
//            }
//        }
//    }
//
////@SuppressWarnings("uncheckd")
////private void loadDate(){
////    File file=new File(DATA_FILE);
////    if(file.exists()){
////        try(ObjectInputStream ois =new ObjectInputStream(new FileInputStream(file))){
////            productData=(Map<String Product>) ois.readObject();
////            System.out.println("提示：商品数据已从"+DATA_FILE+"加载。");
////        }catch (IOException | ClassNotFoundException e){
////            System.err.println("错误：加载商品数据失败："+e.getMessage());
////            productData=new HashMap<>();
////        }
////        else{
////            System.out.println("提示：数据文件"+DATA_FILE+"不存在。");
////        }
////    }
////}